package cn.qihua.dao;

import java.util.List;

import org.hibernate.SessionFactory;

import cn.qihua.model.SysOrganization;

public interface ISysOrganizationDAO {

	// property constants
	public static final String TEXT = "text";
	public static final String PARENT_ID = "parentId";
	public static final String PARENT_IDS = "parentIds";
	public static final String AVAILABLE = "available";

	public abstract void setSessionFactory(SessionFactory sessionFactory);

	public abstract void save(SysOrganization transientInstance);

	public abstract void delete(SysOrganization persistentInstance);

	public abstract SysOrganization findById(Integer id);

	public abstract List findByExample(SysOrganization instance);

	public abstract List findByProperty(String propertyName, Object value);

	public abstract List findByText(Object text);

	public abstract List findByParentId(Object parentId);

	public abstract List findByParentIds(Object parentIds);

	public abstract List findByAvailable(Object available);

	public abstract List findAll();

	public abstract SysOrganization merge(SysOrganization detachedInstance);

	public abstract void attachDirty(SysOrganization instance);

	public abstract void attachClean(SysOrganization instance);

}